Techniques for synchronizing images displayed by a plurality of terminal devices are conventionally known. As an example of those techniques, a technique related to a remote-connection-type collaborative environment is known by which a server apparatus generates image data and transmits the image data to a plurality of terminal devices via a network.
For example, the server apparatus generates the image data to be displayed by the terminal devices and transmits the generated image data to the terminal devices in accordance with the Transmission Control Protocol (TCP)/Internet Protocol (IP). Further, when having received the image data, each of the terminal devices transmits a response to the server apparatus and displays the received image data. Further, the server apparatus receives the responses from the terminal devices and, when a predetermined time period has elapsed since the previous transmission of the image data, the server apparatus transmits the image data in the next transmission to the terminal devices from which the responses were transmitted. For example, see Japanese Laid-open Patent Publication No. 2009-177591 and Japanese Laid-open Patent Publication No. 2010-087625.
The abovementioned technique, however, has a problem that the display images of the terminal devices are sometimes not synchronized, depending on the environment of the network that connects the server apparatus to the terminal devices.
For example, if the delays of the communication paths to the terminal devices are mutually different, even if the server apparatus transmits the image data to the terminal devices simultaneously, it is not possible to synchronize the times at which the terminal devices display the image data because the terminal devices receive the image data at mutually-different times.
Also, the server apparatus is configured to transmit a new piece of image data after having received a response to the image data in the previous transmission. Because of this configuration, if a certain terminal device has a Round Trip Time (RTT) (i.e., a time period between the transmission of image data and the receipt of a response thereto) that is longer than the transmission time interval of the image data, the server apparatus may, in some situations, transmit image data after other terminal devices have already displayed the image data. In that situation, it turns out that the terminal device displays image data that is different from the image data displayed by the other terminal devices.
Further, another technique is also known by which, for the purpose of synchronizing images displayed by terminal devices, the delays in a network are calculated by using a time at which a server apparatus transmitted data and times at which clients received the image data, so as to vary the method for transmitting the image data in accordance with the calculated delays. In this technique, however, it is difficult to synchronize the times clocked by the terminal devices. Further, because the network environment dynamically changes, if the delays or the like in the network to which the server apparatus and the terminal devices belong are occasionally measured by using a command such as with a ping, the amount of communication packets are increased, and the load on the network is thereby increased.